/*
nodemon 动态监听文件修改
*/
const Joi=require('joi');
const express = require('express');
const app=express();

// app.use(express.json());//打开获取请求体JSON对象

const courses=[
    {id:1,name:1},
    {id:2,name:2},
    {id:3,name:3}
]
app.get('/',(req,res)=>{
    res.send('Hellp World!!!');
})
app.get('/api/courses',(req,res)=>{
    res.send(courses);
})
app.get('/api/cour/:id',(req,res)=>{
    const cour=courses.find(x =>x.id === parseInt(req.params.id));
    if(!cour) res.status(404).send('找不到这个ID');
    res.send(cour);
})
app.post('/api/courses',(req,res)=>{
    const schema={
        name:Joi.string().min(3).required()
    };
    const result=Joi.validate(req.body,schema);
    console.log(result);
    if(!req.body.name || req.body.name.length<3){
        res.status(400).send('错误');
        return;
    }
})
app.post('/api/cour',(req,res)=>{
    const course={
        id:courses.length+1,
        name: req.body.name
    };
    courses.push(course);
    // res.status(404);
    res.send(course);
})

// app.put('/api/cour/:id', (req,res)=>{
//     const cour=courses.find(x =>x.id === parseInt(req.params.id));
//     if(!cour) return res.status(404).send('找不到这个ID');

//     const { error } = validateCourse(req.body); //解构赋值，获取req.body.error
//     if(error){
//         res.status(400).send(error.details[0].message);
//         return;
//     }

//     cour.name = req.body.name;
//     res.send(cour);
 
// })


function validateCourse(item){
    const schema={
        name:Joi.string().min(3).required()
    };
    return Joi.validate(item,schema);
    // console.log(result);
    // if(!req.body.name || req.body.name.length<3){
    //     res.status(400).send('错误');
    //     return;
    // }
}


app.get('/api/courses/:id/:data',(req,res)=>{
    res.send(req.params);//获取id
    // res.send(req.query);//获取网址查询参数
})
const port=process.env.port || 3000;
app.listen(port,()=>console.log(`正在监听${port}端口`))